package kpage83;

public class J11Exception {
	// 예외처리
	public static void main(String args[]){
//		System.out.println("현욱아!! 이글 보여?");
//		// System.out.println(100/0); // 오류!!
//		System.out.println("독수리 말고!!");
//		System.out.println("이거 쓴 글말이야!");
//		System.out.println("오키!");
//		
//		int i[] = new int[10];
//		for(int j = 1; j<=10; ++j){
//			System.out.println(i[j]);  // 오류!!
//		}
	
	System.out.println("현욱아!!!이글 보여?");
	try{  // 오류가 나타날때에 try 문 쓴다
	System.out.println(100/0);  // 여기서 오류가 발생
	}catch(ArithmeticException ae){  //catch(오류 내용)
			ae.printStackTrace();
				System.out.println("0으로 나누면 안돼!!"); // 오류가 발생시 출력
	}
	System.out.println("독수리 말고!!");
	System.out.println("이거 쓴 글말이야!");
	System.out.println("오키!");

	int i[] = new int[10];
	for(int j = 1; j<=10; ++j){
		try{
		System.out.println(i[j]);
	}catch(ArrayIndexOutOfBoundsException aiooe){
		aiooe.printStackTrace();
		System.out.println("배열 인덱스 초과!!!");
	}
	}	
	
	// 다중 catch문 사용
	try{
		System.out.println(100/0);
		System.out.println(i[100]);
	}catch(ArithmeticException ae){
			System.out.println("0으로 나누면 안돼!!");
	}catch(ArrayIndexOutOfBoundsException aiooe){
			System.out.println("백열 인덱스 초과!!");
	}
	
	// 모든 예외의 조상 - Exception
	try{
		System.out.println("시작!!");
		System.out.println(100/0);
		System.out.println(i[500]);
		System.out.println("핸욱이~~~");
	}catch(Exception ex){
		ex.printStackTrace();
		System.out.println("치명적인 오류? 가 발생");
		
	
	}
		}
	}
	